<?php
require_once 'login.php';
require_once 'DAO/DAOEventos.php';
require_once 'DAO/DAOEmpresa.php';
require_once 'DAO/DAORepublica.php';
require_once 'DAO/DAOCategorias.php';

class BuscaController {

    private $categoria;
    private $busca;
    private $filtro;
    private $cidade;
    private $pagina;
    private $quantiaResultados;
    private $resultadosPorPagina = 8;
    private $secao;
    function BuscaController() {
        $gets = explode("/", $_SERVER['REQUEST_URI']);
        $this->secao = (isset($gets[2])) ? $gets[2] : NULL;
        $id = (isset($gets[3])) ? $gets[3] : NULL;
        $this->pagina = (isset($gets[4])) ? $gets[4] : NULL;
        switch ($this->secao) {
            case "categoria":
                if (is_numeric($id)) {
                    $dce = new DAOCategoriaEmpresa();
                    $this->categoria = $dce->getCategoria($id);
                    if($this->categoria){
                        require_once 'viewBusca.php';
                    }
                }
                break;
            case "proximoseventos":
                $this->busca = "Proximos Eventos";
                require_once 'viewBusca.php';
                break;
            case "empresas":
                $this->busca = "Empresas";
                require_once 'viewBusca.php';
                break;
            case "republicas":
                $this->busca = "Republicas";
                require_once 'viewBusca.php';
                break;
            case "personalizado":
                $this->busca = "Personalizado";
                require_once 'viewBusca.php';
                break;
            default:
                $this->busca = "Não Foi encontrado Nada :/";
                require_once 'viewBusca.php';
                break;
        }
    }

    function getPaginacao() {
        ?>
<ul class="pager span12" style="padding: 0px; margin: 0px; margin-top: 10px;">
            <li class="previous <? if(!$this->pagina) echo "disabled"?>">
                <a <?if($this->pagina){?>href="/busca/<? echo $this->secao; ?>/pag/<? if($this->pagina>0) echo $this->pagina-1; else echo "0";?>"<?}?>>&larr; Newer </a>
            </li>
            <li class="next <? if($this->quantiaResultados!=  $this->resultadosPorPagina) echo "disabled"; ?>">
                <a <?if($this->quantiaResultados==$this->resultadosPorPagina){?>href="/busca/<? echo $this->secao; ?>/pag/<? echo $this->pagina+1; ?>"<?}?>>Older &rarr;</a>
            </li>
        </ul>
        <?
    }

    function getResultadoBusca() {
        if (!empty($_POST)) {
            if (!empty($_POST['formBuscaEspecifico'])) {
                $this->getEspecifico();
            }
            if (!empty($_POST['formBuscaPorCidade'])) {
                $this->filtro = "cidade";
                $this->cidade = $_POST['edtCidade'];
            }
        }
        $gets = explode("/", $_SERVER['REQUEST_URI']);
        $secao = (isset($gets[2])) ? $gets[2] : NULL;
        switch ($secao) {
            case "categoria":
                $this->getPorCategoriaEmpresa();
                break;
            case "proximoseventos":
                $this->getProximosEventos();
                break;
            case "empresas":
                $this->getEmpresas();
                break;
            case "republicas":
                $this->getRepublicas();
                break;
            case "personalizado":
                $this->getAll();
            default:
                break;
        }
    }

    function getAll() {
        echo "Oi";
    }

    function getEmpresas() {
        $DAOEmpresas = new DAOEmpresa();
        if ($this->filtro == "cidade") {
            $empresas = $DAOEmpresas->getEmpresasByCidade($this->cidade,$this->pagina*$this->resultadosPorPagina, $this->resultadosPorPagina);
        } else {
            $empresas = $DAOEmpresas->getEmpresas($this->pagina*$this->resultadosPorPagina, $this->resultadosPorPagina);
        }
        $cont = 0;
        $this->quantiaResultados = count($empresas);
        foreach ($empresas as $empresa) {
            Visual::getThumbnail('/empresa/' . $empresa->getCodigo(), $empresa->getNome(), $empresa->getImagemPrincipal()->getImagem(), $cont);
            $cont++;
        }
    }

    function getRepublicas() {

        $dr = new DAORepublica();
        if ($this->filtro == "cidade") {
            $republicas = $dr->getRepublicasByCidade($this->cidade,$this->pagina*$this->resultadosPorPagina, $this->resultadosPorPagina);
        } else {
            $republicas = $dr->getRepublicas($this->pagina*$this->resultadosPorPagina, $this->resultadosPorPagina);
        }
        $cont = 0;
        $this->quantiaResultados = count($republicas);
        foreach ($republicas as $republica) {
            Visual::getThumbnail('/republica/' . $republica->getCodigo(), $republica->getNome(), $republica->getImagemPrincipal()->getImagem(), $cont);
            $cont++;
        }
    }

    function getProximosEventos() {
        $DAOEventos = new DAOEventos();
        if ($this->filtro == "cidade") {
            $eventos = $DAOEventos->getEventosByCidade($this->cidade,$this->pagina*$this->resultadosPorPagina, $this->resultadosPorPagina);
        } else {
            $eventos = $DAOEventos->getEventos($this->pagina*$this->resultadosPorPagina, $this->resultadosPorPagina);
        }
        $cont = 0;
        $this->quantiaResultados = count($eventos);
        foreach ($eventos as $eve) {
            Visual::getThumbnail('/evento/' . $eve->getCodigo(), $eve->getTitulo(), $eve->getImagemPrincipal()->getImagem(), $cont);
            $cont++;
        }
    }

    function getResultadoBuscaEvento() {
        //    echo 'Olá Mundo!';
    }

    function getEspecifico() {
        //  echo "Especifico";
    }

    function getPorCidade() {
        //echo "Cidade";
    }

    function getPorCategoriaEmpresa() {

        $dc = new DAOCategorias();
        if ($this->filtro == "cidade") {
            $categorias = $dc->getEmpresasByCategoriaByCidade($this->categoria, $this->cidade, $this->pagina*$this->resultadosPorPagina, $this->resultadosPorPagina);
        } else {
            $categorias = $dc->getEmpresasByCategoria($this->categoria,$this->pagina*$this->resultadosPorPagina, $this->resultadosPorPagina);
        }

        $cont = 0;
        $this->quantiaResultados = count($categorias);
        foreach ($categorias as $cat) {
            $emp = $cat->getEmpresa();
            Visual::getThumbnail('/empresa/' . $emp->getCodigo(), $emp->getNome(), $emp->getImagemPrincipal()->getImagem(), $cont);
            $cont++;
        }
    }

    function getPrincipaisCategorias() {
        require_once 'DAO/DAOCategoria.php';
        require_once 'DAO/DAOArea.php';
        $dc = new DAOCategoria();
        $catsEventos = $dc->getCategorias();
        $da = new DAOArea();
        $areas = $da->getAreas();
        ?>
        <ul class="nav nav-list">
            <li class="nav-header">Categorias de Empresas</li>    
            <div class="accordion" id="accordion2">
                <?
                foreach ($areas as $area) {
                    ?>
                    <div class="accordion-group">
                        <div class="accordion-heading">
                            <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#<? echo $area->getDescricao(); ?>">
                                <? echo $area->getDescricao(); ?>
                            </a>
                        </div>
                        <div id="<? echo $area->getDescricao(); ?>" class="accordion-body collapse">
                            <div class="accordion-inner">
                                <?
                                $categoriasEmpresas = $area->getCategorias();
                                foreach ($categoriasEmpresas as $cat) {
                                    ?>
                                    <li><a href="/busca/categoria/<? echo $cat->getCodigo(); ?>"><? echo $cat->getDescricao(); ?></a></li>  
                                    <?
                                }
                                ?>
                            </div>
                        </div>
                    </div>
                    <?
                }
                ?>
            </div>


            <li class="nav-header">Categoria Eventos</li>    
            <?
            foreach ($catsEventos as $categoria) {
                ?>
                <li><a href="/busca/<? echo $categoria->getCodigo(); ?>"><? echo $categoria->getDescricao(); ?></a></li>
                <?
            }
            ?>
        </ul>
        <?
    }

    function getFormFiltrar() {
        ?>
        <ul class="nav nav-list">
            <li class="nav-header">Buscar</li>    
            <li>
                <form action="" method="POST">
                    <input type="hidden" name="formBuscaPorCidade" value="formBuscaPorCidade"/>
                    <div class="controls">
                        <select id="edtEstado" name="edtEstado" onchange="buscar_cidades();" required="required">
                            <option value="">Selecione</option>
                            <?
                            $de = new DAOEstado();
                            $estados = $de->getEstados();
                            foreach ($estados as $es) {
                                ?>
                                <option value="<?php echo $es->getCodigo(); ?>"><?php echo $es->getNome(); ?></option>
                                <?php
                            }
                            ?>

                        </select>
                    </div>
                    <div class="controls" id="cidade">
                        <select id="edtCidade" name="edtCidade" required="required">
                            <option value="">Selecione o estado</option>
                        </select>
                    </div>
                    <button type="submit" class="btn">Filtrar</button>

                </form> 
            </li>
        </ul>

        <?
    }

}
?>
